package com.shujia.controller;


import jdk.internal.org.objectweb.asm.Handle;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;


/**
 * 注解： 可以通过返回获取到注解
 * <p>
 * <p>
 * spring 在启动的过程中会扫描包下面所有的类，
 * 如果类上面有@RestController注解，spring会通过反射创建这个类的对象
 * <p>
 * 如果方法上面有GetMapping 注解，  spring 会将这个方法绑定到指定的陆军上面
 * <p>
 * 通过地址访问：http://localhost:8080/test?name=zhangsan
 */

@RestController
public class TestController {

    public TestController() {
        System.out.println("TestController被实例化了");
    }


    @GetMapping("/test")
    public String test(String name) {
        System.out.println("test方法被调用了");
        System.out.println(name);

        return "ok";
    }

    /**
     * 返回值会被自动转换成json
     *
     * @return
     */
    @GetMapping("/data")
    public HashMap<String, String> data() {

        HashMap<String, String> hashMap = new HashMap<>();

        hashMap.put("java", "spring");
        hashMap.put(":shujia", "牛逼");

        /**
         * spring 会自动将（hashmap，arraylist, 自定义的类）转换成json的字符串，返回给前端
         *
         */
        return hashMap;
    }





}
